Point of view video processing and curation platform

ABSTRACT

Embodiments of the present disclosure may provide methods and systems enabled to receive a plurality of streams comprising at least one video stream and at least one telemetry data stream associated with the at least one video stream; and create metadata corresponding to the at least one video stream and the at least one telemetry data stream, wherein creating the metadata comprises: processing at least one frame of the at least one video stream to detect at least one artifact within the frame, processing the at least one telemetry data stream to determine telemetry data associated with the at least one frame of the at least one video stream, and annotating the at least one artifact and the telemetry data associated with the at least one frame.

RELATED APPLICATIONS

Under provisions of 35 U.S.C. §119(e), the Applicant claims the benefit of, and incorporates by reference, in their entirety:

-   -   a. U.S. provisional application No. 62/059,378 entitled “Point         Of View Video Processing and Curation Platform,” Attorney Docket         No. SE120.T6534, filed on Oct. 3, 2013 in the name of Saeed Z.         Anwar and Tenzing P. Tshering.

The present disclosure is a continuation-in-part of related applications, the disclosure of which is incorporated herein, in its entirety:

-   -   a. U.S. non-provisional application Ser. No. 14/565,915,         entitled “Point Of View Multimedia Platform,” Attorney Docket         No. SE120P.001US01 filed Dec. 10, 2014 in the name of FieldCast,         LLC;     -   b. U.S. non-provisional application Ser. No. 14/612,671,         entitled “Point of View Multimedia Provision,” Attorney Docket         No. SE120P.001US02 filed Feb. 3, 2015 in the name of FieldCast,         LLC; and     -   c. U.S. non-provisional application Ser. No. 14/801,613, filed         Jul. 16, 2015, entitled “Wearable Helmet System with Integrated         Peripherals” Attorney Docket No. SE120P.001US03 in the name of         FieldCast, LLC.

It is intended that each of the referenced applications may be applicable to the concepts and embodiments disclosed herein, even if such concepts and embodiments are disclosed in the referenced applications with different limitations and configurations and described using different examples and terminology.

FIELD OF DISCLOSURE

The present disclosure generally relates to point of view multimedia processing.

BACKGROUND

The current state-of-the-art of video and audio capture, processing, and delivery may involve, for example, multiple capturing cameras and microphones throughout a venue. In the typical setup, each venue camera may be associated with a broadcast feed that can be selected for transmission to entities within the venue or entities in remote proximity to the venue. In conventional systems, video may be captured, stored and/or streamed using, for example, internet or internet-like protocols.

BRIEF OVERVIEW

A Point of View (POV) video processing and curation platform may be provided. This brief overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This brief overview is not intended to identify key features or essential features of the claimed subject matter. Nor is this brief overview intended to be used to limit the claimed subject matter's scope.

Embodiments of the present disclosure may provide methods and systems enabled to receive a plurality of streams comprising at least one video stream and at least one telemetry data stream associated with the at least one video stream; and create metadata corresponding to the at least one video stream and the at least one telemetry data stream, wherein creating the metadata comprises: processing at least one frame of the at least one video stream to detect at least one artifact within the frame, processing the at least one telemetry data stream to determine telemetry data associated with the at least one frame of the at least one video stream, and annotating the at least one artifact and the telemetry data associated with the at least one frame. Further, the methods and systems may be enabled to receive the metadata and the corresponding at least one video stream for a plurality of video streams; and process the plurality of video streams to create a logical view. The processing may be based on a plurality of algorithmic processing rules for creating the logical view. Logical views may also be referred to as “Sport of View™”.

Both the foregoing brief overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing brief overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present disclosure. The drawings contain representations of various trademarks and copyrights owned by the Applicants. In addition, the drawings may contain other marks owned by third parties and are being used for illustrative purposes only. All rights to various trademarks and copyrights represented herein, except those belonging to their respective owners, are vested in and the property of the Applicant. The Applicant retains and reserves all rights in its trademarks and copyrights included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.

Furthermore, the drawings may contain text or captions that may explain certain embodiments of the present disclosure. This text is included for illustrative, non-limiting, explanatory purposes of certain embodiments detailed in the present disclosure. In the drawings:

FIG. 1A illustrates an embodiment of a Video Head-End architecture;

FIG. 1B illustrates an embodiment of a Video Processing Server;

FIG. 2 illustrates an embodiment of a Video File Storage processing architecture;

FIG. 3 illustrates an embodiment of a Video Stitching method;

FIG. 4 illustrates an embodiment of Metadata Scanning architecture;

FIG. 5 illustrates an example of Metadata Scanning;

FIG. 6 illustrates another example of Metadata Scanning;

FIG. 7 illustrates an example of a “Sport of View” for a run;

FIG. 8 illustrates an in-stadium production embodiment;

FIG. 9 illustrates a Coach Communications Panel;

FIG. 10 illustrates a Play Book display;

FIG. 11 illustrates a flow chart for performing a platform method; and

FIG. 12 illustrates a computing device for performing the platform method.

DETAILED DESCRIPTION

As a preliminary matter, it will readily be understood by one having ordinary skill in the relevant art that the present disclosure has broad utility and application. As should be understood, any embodiment may incorporate only one or a plurality of the above-disclosed aspects of the disclosure and may further incorporate only one or a plurality of the above-disclosed features. Furthermore, any embodiment discussed and identified as being “preferred” is considered to be part of a best mode contemplated for carrying out the embodiments of the present disclosure. Other embodiments also may be discussed for additional illustrative purposes in providing a full and enabling disclosure. Moreover, many embodiments, such as adaptations, variations, modifications, and equivalent arrangements, will be implicitly disclosed by the embodiments described herein and fall within the scope of the present disclosure.

Accordingly, while embodiments are described herein in detail in relation to one or more embodiments, it is to be understood that this disclosure is illustrative and exemplary of the present disclosure, and are made merely for the purposes of providing a full and enabling disclosure. The detailed disclosure herein of one or more embodiments is not intended, nor is to be construed, to limit the scope of patent protection afforded in any claim of a patent issuing here from, which scope is to be defined by the claims and the equivalents thereof. It is not intended that the scope of patent protection be defined by reading into any claim a limitation found herein that does not explicitly appear in the claim itself.

Thus, for example, any sequence(s) and/or temporal order of steps of various processes or methods that are described herein are illustrative and not restrictive. Accordingly, it should be understood that, although steps of various processes or methods may be shown and described as being in a sequence or temporal order, the steps of any such processes or methods are not limited to being carried out in any particular sequence or order, absent an indication otherwise. Indeed, the steps in such processes or methods generally may be carried out in various different sequences and orders while still falling within the scope of the present invention. Accordingly, it is intended that the scope of patent protection is to be defined by the issued claim(s) rather than the description set forth herein.

Additionally, it is important to note that each term used herein refers to that which an ordinary artisan would understand such term to mean based on the contextual use of such term herein. To the extent that the meaning of a term used herein—as understood by the ordinary artisan based on the contextual use of such term—differs in any way from any particular dictionary definition of such term, it is intended that the meaning of the term as understood by the ordinary artisan should prevail.

Regarding applicability of 35 U.S.C. §112, ¶6, no claim element is intended to be read in accordance with this statutory provision unless the explicit phrase “means for” or “step for” is actually used in such claim element, whereupon this statutory provision is intended to apply in the interpretation of such claim element.

Furthermore, it is important to note that, as used herein, “a” and “an” each generally denotes “at least one,” but does not exclude a plurality unless the contextual use dictates otherwise. When used herein to join a list of items, “or” denotes “at least one of the items,” but does not exclude a plurality of items of the list. Finally, when used herein to join a list of items, “and” denotes “all of the items of the list.”

The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While many embodiments of the disclosure may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the disclosure. Instead, the proper scope of the disclosure is defined by the appended claims. The present disclosure contains headers. It should be understood that these headers are used as references and are not to be construed as limiting upon the subjected matter disclosed under the header.

The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of sports, embodiments of the present disclosure are not limited to use only in this context. For example, the platform may be used in military applications, adult film industry applications, and cinematic production applications.

I. Platform Overview

Consistent with embodiments of the present disclosure, a Point of View (POV) video processing and curation platform may be provided. This overview is provided to introduce a selection of concepts in a simplified form that are further described below. This overview is not intended to identify key features or essential features of the claimed subject matter. Nor is this overview intended to be used to limit the claimed subject matter's scope.

Embodiments of the present disclosure are associated with the capture, processing and curation of POV video for storage and distribution. (See U.S. patent application Ser. No. 14/565,915, (hereinafter referenced as ‘'915’). The POV platform of the present disclosure may further be associated with the provision of POV content to end-users and entities. (See U.S. patent application Ser. No. 14/612,671, hereinafter referenced as ‘671’) Accordingly, the various capture, processing, and streaming embodiments described herein may be integrated with the POV platform described in '915 and '671.

As described in '915, a video head-end in a POV platform may receive at least one video feed captured from at least one video capturing device (among other feed types and capturing device types). The capturing devices may be integrated into, for example, a helmet. (See U.S. patent application Ser. No. 14/801,613, hereinafter referenced as ‘'613’.) Thus, each time the present disclosure makes reference to a helmet, a data generator, a capturing apparatus, a sensing device, or any other data/content source may incorporate the disclosure of '613.

Moreover, the present disclosure contains various systems and methods for content stabilization, storage, stitching, and building of metadata for each captured stream arising out of a content source. These systems and methods may be employed, based on video processing rules, for the curation of new video stream. As will be detailed below, the systems and methods may employ, for example, content metadata to provide the new curated video in response to platform user selections. In addition, embodiments of the present disclosure provide for the use of standard industry networking hardware and to enable the processing of the video streams (as applicable to, for example, either single or multi-cast video streams).

Using an integrated communications module, the capturing apparatus (e.g., helmet) may provide a transport stream to the POV platform. Details on the transport stream are provided in the '613 application and are incorporated herein by reference. The stream may be received through a network infrastructures within a venue. The network infrastructure may be configured to include various connections and protocols. For example, various connections and protocols may be used, including, but not limited to, Wi-Fi, potentially a Bluetooth to Wi-Fi bridge, Wi-Fi access points, Power over Ethernet (PoE) switches, and the local switch router at a video-head-end. Details on the communication protocols are provided in the '915 application and are incorporated herein by reference.

The transport streams may comprise audio and video transport streams, as well as any location and telemetry data associated with the content sensing and generation apparatus (e.g., the helmet as described in '613). Although conventional networking infrastructure may be employed with the various embodiments of the present disclosure, the switch router and other video head-end components are detailed herein to illustrate a possible embodiment for processing the POV audio and video streams.

The video head-end consistent with embodiments of the present disclosure may receive the transport streams and process the transport streams. Accordingly, the video head-end may operate in, for example, three layers. A first layer may comprise an ingestion stage to store the received video streams. A second layer may comprise a processing stage to process the video stream, thereby producing a curated video content. The third layer may comprise a streaming stage in which the curated content may be streamed to a destination or multiple destinations via multi-cast protocol. This multi-cast stream may be consumed within a stadium or external to a stadium via a Content Delivery Network (CDN) as described in '915 and '671. In this way, a Sport of View™ stream may be provided as will be detailed in further detail herein.

A venue in which the content streams may be captured (e.g., a sports stadium) may have a locally residing video head-end interface. In some embodiments, however, portions of the head-end may reside local to the venue, while other portions may reside remote to the venue. By way of non-limiting example, the ingestion layer may be located within the venue, while the processing and transmission layers may be located outside of the venue.

Both the foregoing overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.

II. Media Streams and Head-End Infrastructure

Embodiments of the present disclosure shall be described with reference to a POV Platform being provided at a sports venue hosting a football game. Such venue is used for illustrative purposes and the various embodiments are not limited to exclusively such venue. Rather, a non-exhaustive listing of applications in which the various embodiments may be implemented is described in section IV of this disclosure, infra.

Accordingly, embodiments of the present disclosure may be configured to receive a plurality of feeds captured from a helmet integrated with a plurality of capturing devices. (e.g., with reference to the '613 application). The capturing devices may comprise, for example, but not be limited to, four video capturing devices (it is preferred, although not essential, that four video feeds may be a sufficient number of feeds such that, when each feed is stitched together, a POV video may be produced with the perspective of a player wearing the helmet). In turn, the four video capturing devices may provide a head-end interface with four video feeds. It should be understood that the amount of capturing devices is used for illustrative purposes only and that a plurality of capturing devices may be used.

Furthermore, and as detailed in '613, the integrated helmet may comprise an additional capturing device directed toward the players face. The player-facing capturing device may be configured to provide a plurality of successive images (i.e., burst shots). Assuming that each player actively playing on the football field is wearing an integrated helmet, a total of 22 burst shot feeds may be provided from the player-facing capturing device.

As a whole, there may be 44 players including those players that are benched and not active on the playing field. In some embodiments, the POV platform may process the feeds captured by the corresponding players' integrated helmets. However, for the sake of saving resources, including battery power, the integrated helmet corresponding to players not on the field may be signaled to operate in a passive state (by turning off some of the electronics when a player is off the field, e.g. cameras, Bluetooth, Wi-Fi, and the like). Such signal may be triggered automatically when based on player location (as detected by the integrated helmet), or manually by a POV platform operator. For instance, multiple methods of detecting if a player is on/off the field include the use of RFID sensors in the helmet, GPS location, Wi-Fi location (external to the helmet), etc. In some embodiments, RFID tags may be placed on blankets, benches, tunnels, emergency carts, etc. to assist in player location detection. Further details may be provided in the '613 application.

As described in patent '915, the content and data captured by the integrated helmet may be transported over the Wi-Fi network using Wi-Fi access points, and PoE switches. The Ethernet feeds from the PoE switches may be connected to the head-end switch router. As illustrated in FIG. 1A, the audio and video streams along with telemetry and location data are shown as label 1. These streams are received by a multi-cast switch-router, label 2. This multi-cast switch router may also be used to multi-cast any streams from the head-end to within the stadium or to a CDN outside of the stadium, as further detailed in the '971 application.

The video processing server, label 3, may receive the streams and process the streams. Video processing is further detailed with reference to section IV, infra. The processed streams may be stored as audio and video streams in a storage, label 4. The storage may be, for example, but not limited to a SAN, RAID type storage preferably using solid state disks (SSD) for fast access & retrieval of files and database.

FIG. 1B shows a video-processing server consistent with embodiments of the present disclosure. The server may be, for example, an industry standard server comprising of multi-core CPU, label 5, and multi-core GPU, label 6. The combination of CPU and GPU processing allows the head-end to process multiple media streams in parallel (similar to a multi-cast method). The CPU and GPU cores may communicate through memory, CPU ram and GPU ram, respectively. It should be understood that other computing device architectures would be possible with embodiments of the present application (e.g., computing device 1200).

The two-way communications is shown by labels 10 and 11, via direct memory access (DMA) which could use standard PCI express methods known in modern day computers. In various embodiments, the CPU may communicate directly or via PCI express with the network access, label 7, to send and receive the media streams. The CPU may also communicate directly or via PCI express with the disk storage, label 8, and the database, label 9.

III. Raw Telemetry Data and Video Storage

Referring back to FIG. 1A, the Video Processing server 3, may receive the media stream and associated sensor data, such as GPS, RFID, temperature, and others disclosed in '613. FIG. 2 illustrates Video Processing server 3 receiving a Transport Stream 20. Although in some embodiments the sensor and a/v data (media stream) may be communicated in, for example, separate streams, some sensor data may be integrated in the media stream, such as EXIF data to form the transport stream. Although transport stream 20 is labeled as a ‘real-time’ transport stream, embodiments of the present invention may be compatible with non-real time data communication.

Separate telemetry information may be received as Internet data packets and processed directly by the CPU. The CPU updates the metadata in the database, (See FIG. 1B label 9) with telemetry information such as, but not limited to, RFID tag info, Assisted GPS information, Temperature, a plurality of degrees (e.g., six) of acceleration, a plurality of degrees (e.g., six) of gyro information for tilt, etc. Some of this information, such as acceleration and gyro information, may be received continuously and is synchronized with the A/V feed using time stamp information. Since each frame may be processed at, for example, 60 frames per second, this telemetry information may be averaged over several frames because of inherent latency in this type of information.

The video processor may extract the program stream, label 21, from the transport stream. The encoded media files, label 22, may be extracted from the program stream and placed in a file container, label 23, suitable for memory and disk storage. Still pictures may have embedded data (e.g., EXIF or XMP information). The transport stream of the present disclosure may be a container for the program stream so it can be transported over Wi-Fi. In some embodiments, the transport stream may be transmitted in blocks for later reconstruction of the streamed blocks. The program stream may comprise the A/V data. External sensor information (e.g., telemetry data) may be transported directly as IP data packets over Wi-Fi.

The file containers may remain open such that as new video blocks are received, the video block files may then be appended to the open containers in memory and disk storage. The encoded media files may be in an industry standard format such as H.265/HEVC encoding.

Consistent with embodiments of the present disclosure, all communicated and stored data (e.g., the streamed media, data files and memory/disk files) may be associated via the MAC/IP address of the source of captured content (e.g., helmet). For example, each player on and off the field will have a unique MAC/IP address combination. The video process will be provisioned ahead of time with this information. All memory and disk files may be marked with such designation as well as which camera the media feed was sourced from. The marking may be in the form of, for example, metadata.

Each player during a football game may require identification for source of video, audio and telemetry information. In some instances, each player may typically have two helmets at the game and each helmet may have a wearable system that can be replaced. In the metadata structure, embodiments of the present disclosure may have allocated space for multiple addresses of the wearable systems (i.e. 4 MAC addresses). The MAC addresses may require entry before the game starts by platform operation personnel. The IP addresses may be automatically allocated when the MAC addresses communicate with the head-end. This may enable the head-end to identify which of the streams need to be stitched, such as, for example the ones receives from the same MAC address. If a wearable system is replaced with the player's second helmet, this may be automatically detected by the head-end since the second helmet may also be previously allocated for that player. This information (as further detail in the '613 application) may be fed by the rules engine as further detailed in the '915 application.

IV. Video Processing

Embodiments of the present disclosure may provide rule-based video processing. As described in '915, there may be multiple scenarios during a game as well as after the game to generate the requested user experience. Such requests may include, but not be limited to, videos from individual cameras, 360 degree (or an otherwise wide-angle) panoramic views from each player, or sequenced views on an interest of focus (hereinafter referred to as ‘Sport of View™’). In '915, aggregated 3D & panoramic views are discussed. Such views may be encompassed within Sport of View™.

Accordingly, video processing may entail the various combination and sequential application of the various capturing devices, each associated with, for example, different sources (e.g. helmets), to provide a requested view. Such combination and application may be derived from the rules for a particular requested view. In this way, video processing may be employed to provide the requested view.

The view may be requested by an end user of the platform (e.g., an audience member, either local or remote to the venue). In some embodiments, views may be requested by platform operators, venue administrators, event officials (e.g., referees), event participants (e.g., players and coaches).

The rules on which video processing may be based may be referred to as ‘business rules’, although the rules may not be based on the typical business methods. Business rules may be powered by, for example, a rules engine as further detailed in the '915 application. Business rules for Sport of View™ may include, but are not limited to, for example:

-   -   1. Focus on the ball during a pass play for both short pass and         long pass;     -   2. Focus on the ball during a run play providing multiple types         of view, e.g. nearest to the ball, etc.; and     -   3. Focus on individual players in both offense and defense         positions

In some embodiments, Sport of View™ videos may be used to capture additional footage that may be used for other commercial applications and programs such as advertisements, team promotions, replays, and other applications for video. In these, such Sport of View™ focus may be associated with:

1. Brand icons, such as Gatorade, Nike, Riddell, etc.

2. Referees

3. Team Staff

4. Team Owners

5. Cheerleaders

6. Fans, unique individuals

In addition, the Sport of View™ videos may be programmed to provide feedback to coaches on how well their playbook is being executed. For example, the views may be configured such that the focus would be on quarter back timing, i.e. number of steps, followed by a short pass or a long pass, etc.

In the various embodiments disclosed herein, video processing may begin with decoding the individual video feeds. As discussed supra, individual video feeds may be encoded, e.g. H.265 encoding. Accordingly, these feeds may be decoded to get a pixel map of each frame. Once the frame is recovered, then video processing may ensue. For individual camera selected for viewing, there may be no need to decode because these feeds are already captured in H.265 containers.

a. Individual Camera Feeds

In some embodiments, video processing for individual camera feeds may not be required. For example, the individual camera video feed may optionally be transcoded in H.264 or H.265 formats, if required, and streamed out. The process of streaming is in reverse order as shown in FIG. 2. For example, for an individual camera stream embodiments may store the video in a file container but the encoded video may still be in the original form it was captured in. So to stream this video, the flow in FIG. 2 may be reversed. The ‘reverse order’ may be understood as follows. Embodiments may extract the encoded video from the file container and place it in the program stream container which may then placed inside the transport stream container to send out over the Internet CDN or locally in stadium over Wi-Fi. A suitable naming convention may be applied to each curated file (container), e.g. “Player 1—Cam 1”, or “MAC Address 1—Cam 1”, etc.

However, in some embodiments, the video feed may be decoded, and processed with algorithms that may apply, for example, but not be limited to, the following techniques before re-transmission:

-   -   Stabilization: This is the reduction in jitter in up-down, and         left-right direction due to shaking. Information to stabilized         may be available in the metadata for each frame e.g.         acceleration and gyro information.     -   Color & Polarization. This is the correction of color exposure         due to polarization effects produced during capturing of video.         Polarization effects show as bands of over exposure or under         exposure.     -   Interposition: Position differences and occlusions between         different objects in the scene may indicate relative depth of         the objects.     -   Linear Perspective: Explicitly seen edge or any linear         perspective source may lead to the perception of depth in terms         of the given regular subject sizes or learned perspective         feeling.     -   Relative and Known Size: Comparison of known sizes of two         objects may provide the feeling of 3D depth as their relative         sizes differ. Two of the same objects with different sizes may         imply that the object that appears smaller is farther away.     -   Texture Gradient: Texture of same size and shapes may indicate         whether there is any distortion on that plane as a linear         perspective or not.     -   Light and Shadow Distribution: Light and shadow distribution in         the scene may provide different clues about the depth of the         objects. Just lighting and shadow appearance of an object may         carry information on its 3D location.     -   Aerial Perspective: Different artifacts such as blurriness,         dust, humidity or fog may imply depth information. For example,         in natural landscape images, the farther the scene object gets,         the more blurry the image may become. Whereas if the focus is         distance, near objects may be blurred. In some case, both near         and far objects may be in focus.

b. Panaramic Feeds and Building of Metadata

As mentioned supra, before a plurality of individual feeds can be stitched, the individual video feeds may be decoded to recover the pixel format. These feeds (which may be encoded in, for example, but not limited to, H.265 encoding) may be decoded to get a pixel map of each frame within the feed. Referring back to FIG. 2, the program stream (i.e., the feed) may be comprised of A/V content and Data content. The A/V content of the steam may be decoded to establish the pixel map. The pixel map may be created for, in some embodiments, each frame. Once the frame is recovered, then video processing can ensue.

A stitched file (e.g., a larger frame comprised of the individual frames) may be constructed and corrected using non-limiting industry standard heat map methods and depth map techniques and similar methods of matching pixels and motion vectoring. The techniques of section (a) may be employed in the processing.

Optionally panoramic views may be streamed out without any further processing. In this case, the larger frames are encoded back into an H.265 or H.264 format and placed in a file container for storage, as well as placed into a program stream container for streaming out (reverse process as shown in FIG. 2). A suitable naming convention will be applied to each curated file (container), e.g. “Panoramic-Player 1”, or “Panoramic-MAC Address 1”, etc. Panoramic views are streamed as large (jumbo) frames. These may be rendered in an application suitable for viewing these jumbo frames.

FIG. 3 illustrates an embodiment of how four camera feeds, labels 30, 31, 32 and 33, from a helmet are processed to provide a 360 panoramic view (hereinafter, the 360 panoramic view may be used to express any degree of a wide-angle view). For example, the first two feeds may stitched and the last two feeds may stitched to produce stitched feeds, labels 34 and 35. In turn, these stitched feeds may be stitched to create one 360 panoramic view, label 36. At each step, labels 24, 35, and 36, the techniques of section (a) may be employed in the processing.

Once the video frames are stitched into a 360 panoramic view and processed for stability and other algorithms described in section (a) above, the video frames may scanned for metadata by multiple GPUs. The scan may iterate to determine, by way of non-limited example, the location within the frame, distance from object, etc.:

1. Ball;

2. Snap;

3. Player faces, once for each player;

4. Player Shirts, once for each player;

5. Side lines;

6. Line markers, down markers; and optionally any other markings such as infrared markers, non-visible paint to human eyes, etc.;

7. Hash-Mark lines;

8. 5-Yard and 10-Yard lines, End;

9. End-Zone lines;

10. Uprights; and

11. Game clock.

In some embodiments, these frames may further be scanned for, but not limited to:

1. Brand icons, such as Gatorade, Nike, Riddell, etc.;

2. Referees;

3. Team Staff, Coaches, Bench players, Medics;

4. Team Owners, Players family/wives

5. Cheerleaders; and

6. Fans, several times for unique individuals.

All of the aforementioned elements may be derived from the frames and encoded as metadata. After processing to determine the metadata, the stitched streams may be transcoded in H.265/H.264 formats, stored and streamed out. A suitable naming convention will be applied to each curated file (container), e.g. “Panoramic-Player 1”, or “Panoramic-MAC Address 1”, etc. In some embodiments, the decoded streams may be kept in memory if further processing is required, i.e. ‘sport of view’ videos.

c. Metadata

FIG. 4 illustrates selected scans for the points of interest in various point of views. The scans may be performed by a processing unit such as, for example, but not limited to, the aforementioned GPU. Consistent with various embodiments of the present disclosure, the metadata blocks may made available before any requested view is processed. The GPU may scan both the stitched panoramic video blocks (bit maps), labels 41 and 43, as well as the still images (pixel maps) from the face camera in burst mode, labels 40 and 42. All the scanned information may be stored in a database, label 44.

Metadata may be comprised of three blocks: one block may contain data for the player and information related to the wearable helmet system, as well as any information to catalog the event; a second block may contain information captured from the still camera; and a third block may be related to the panoramic video motion. The still camera block may also contain information that doesn't require fast capture, e.g. helmet and battery temperature, assisted GPS information, electronics control information based on whether the player is on or off the field and any information related to eye movement or eye dilation. Each frame is associated with this information. Alerts may be triggered using this information for ensure correct operation of the helmet electronics as well as eye dilation information for medical reasons. The still camera block may also contain the number of frames recorded for this block and where these frames exist within the file container for the still camera. These frames may then be used to see the condition of players' eyes and face in medical issues such as concussions. The panoramic video block may contain the frames recorded for the video stream in manageable chunks. Since this may all be processed in real time and the stream is at 60 fps, video may be processed in a series of video frames. The series of video frames may be stored in the metadata block and indicate where these frames exist in an A/V file container. Along with this information, the metadata may be marked to show if a frame contains objects (and location within the jumbo frame) of interest such as, for example, but not limited to:

1. Ball;

2. Snap;

3. Player faces, once for each player;

4. Player Shirts, once for each player;

5. Side lines;

6. Line markers, down markers; and optionally any other markings such as infrared markers, non-visible paint to human eyes, etc.;

7. Hash-Mark lines;

8. 5-Yard and 10-Yard lines, End;

9. End-Zone lines;

10. Uprights; and

11. Game clock.

Additional information may also be collected in the database to help with rules processing such as the acceleration in, for example six degrees, gyro tilt in six degrees. This additional information may be used to stabilize the video as well as provide alerts for concussions based on the 6 degrees of acceleration.

The location of an object in a frame may be required for processing of panoramic video. For example if the focus is the ball, the each frame will be centered on the ball and cropped for normal frame size consumption, such as 1920 by 1080 pixels. This cropped frame may then be used for encoding, sequencing (temporal stitching) and streaming. This is explained more in the sport of view section, infra.

The video panoramic metadata block may also contain information on the captured ‘speech to text’ audio for the block of video frames. This audio can be used to compare huddle calls and line of scrimmage calls against a playbook. Such an application may be useful for coaching requirements.

The interaction of metadata with the business rules engine further detailed in the '915 application may be in stages. Initially, the rules engine may expose what objects of interest are available. This may allow new objects to be added over time. The operator of the business rules may enter which objects should be processed during the game.

Another set of rules may allow the operator to curate temporally stitched video based on the captured objects, e.g. nearest to object, closest to a player, closest defender to the running back, etc. These rules may allow the business rules engine to scan the metadata and find the sequence of frames to process, i.e. temporal stitching.

It is anticipated that 3^(rd) parties such as CBS, ESPN, or 3^(rd) party application providers etc. may want direct access to the rules engine post-game. In this case, the curation of the stages described above may be through a published API.

Any metadata that shall be made available to external applications may be provided through published API. The metadata blocks may include the following fields described in the tables below but is not limited to these fields, and may also contain different points of interest for other sports, e.g. below are examples for football and baseball:

HEADER VALUE Sport Type NHL, NCAA Football, MLB, NCAA Baseball, etc. Season Fall 2014 Tournament Main Season, Playoffs, Rose Bowl, etc. Date Home Team Away Team Player Name Player Shirt Number Offense/Defense Position QB, RB, etc. Special Teams Position Player Face Picture File File for facial recognition Wearable 1 MAC Address Wearable 1 IP Address Wearable 2 MAC Address Wearable 2 IP Address Wearable 3 MAC Address Wearable 3 IP Address Wearable 4 MAC Address Wearable 4 IP Address

VALUE FOOTBALL CONTROL DATA & IMAGE BLOCK Bitmap Frames Container File location Index for Frame Block Index in File Memory Location Number of Frames H.265 Container Start Index of Burst Block for H.265 container End Index of Burst Block for H.265 container FRAME META DATA (for Each Frame) Time Stamp On-Field/Off-Field RFID tags on benches and tunnels Off-Field Face Camera on/off Off-Field Cameras 1 . . . 4 on/off Off-Field Wi-Fi on/off Off-field Bluetooth on/off Assisted GPS Location GPS + Wi-Fi Mic on/off Speakers on/off Helmet Temperature Battery Temperature Other relevant EXIF Data Eyes left/right Eyes up/down Eyes Dilated

VALUE FOOTBALL VIDEO BLOCK Bitmap Frames Container File location Index for Frame Block Index in File Memory Location Number of Frames H.265 Container Start Index of Burst Block for H.265 container End Index of Burst Block for H.265 container FOOTBALL PANORAMIC FRAME META DATA (for Each Frame) Time Stamp Start of Down - centers hand on ball on ground Down Marker (from side markers or 1 . . . 4 scoreboard) Ball location in Frame Start X/Y; End X/Y Distance to Ball Shirt Number in Frame (repeat for all Start X/Y; End X/Y shirt numbers) Players Face in Frame (repeat for Start X/Y; End X/Y all faces) Distance to player (for each player w/shirt or face) Distance from home team side line Distance from away team side line Distance from End Zone Distance from 10 yard (repeat for each 10 yard marker) Distance from Left Hash mark Distance from Right Hash mark Acceleration - Left/Right Acceleration - Up/Down Acceleration - Push/Pull Gyro Tilt - x/y Degree measurement Gyro Tilt - x/z Degree measurement Gyro Tilt - y/z Degree measurement Tilt on Uprights 1 . . . 180 Game Clock Time from Scoreboard FOOTBALL AUDIO META DATA Speech to Text Huddle Command Huddle Call Movement strategy enum, strength enum, formation enum, backfield set enum, motion enum, run/pass play, run/pass play enum, snap count, etc. This will identify the sequence of videos for ‘Sport of Video’ including timing of snap, quarter back timing, etc. Line of Scrimmage Audible Directional, set go/fake/new Call Array for no-huddle (check) call, run/pass play, run/ or check play pass play enum, snap count This will identify the sequence of videos for ‘Sport of Video’ including timing of snap, quarter back timing, etc.

VALUE BASEBALL VIDEO BLOCK Bitmap Frames Container File location Index for Frame Block Index in File Memory Location Number of Frames H.265 Container Start Index of Burst Block for H.265 container End Index of Burst Block for H.265 container BASEBALL PANORAMIC FRAME META DATA (for Each Frame) Time Stamp At-Bat RFID tag on Home Plate Plate Tag 1 . . . 3 . . . HP Ball location in Frame Start X/Y; End X/Y Distance to Ball Shirt Number in Frame (repeat for all shirt Start X/Y; End X/Y numbers) Players Face in Frame (repeat for all faces) Start X/Y; End X/Y Distance to player (for each player w/shirt or face) Distance from home plate Distance from base 1 (repeat for bases 1, 2, 3) Distance from Pitcher plate Acceleration - Left/Right Acceleration - Up/Down Acceleration - Push/Pull Gyro Tilt - x/y Degree measurement Gyro Tilt - x/z Degree measurement Gyro Tilt - y/z Degree measurement Temperature Innings - from scoreboard

d. Sport of View™ Examples

It should be understood that in various embodiments, only a single feed may be employed in to provide a requested POV. As such, the stage of stitching a plurality of feeds may not be necessary. Rather, in some embodiments, a temporal stitching (rather than spatial stitching) may be employed. Temporal stitching may refer to a sequential stitching of various the feeds (raw or processed) so as to sequentially combine the feeds to produce a single feed of varying source over a period of time. By way of non-limiting example, the feed from a first capturing device may be streamed as it corresponds to T0 to T1, while a second feed from a second capturing device (further still, a capturing device from a different helmet) corresponding to T1 to T2 may then be subsequently streamed. The following examples are non-exhaustive and non-limiting illustrative examples of various Sport of View™ perspectives that may be provided through the POV platform.

i. Follow the Ball

Consistent with some embodiments of the present disclosure, each stitched 360 panoramic view may be cropped to enable the focus of the view to be centric to a point of interest. For example, in a POV in which the ball is the point of interest (e.g., follow the ball), the 360 panoramic view may be cropped to maximize the video for in-field play vs. sky, ground or stadium stand views.

Referring now to FIG. 5, an illustration of a 360 panoramic views from a player's helmet is provided. The GPU may detect the ball, label 50, and then crop the 16:9 (or 1920×1080) frame accounting for line markings tilt, upright tilt, and turf compared to sky views, or stand views. If no ball is detected, the frame may be made blank (e.g., as a black or grey frame).

The corresponding Sport of View™ may then be transcoded in H.265/H.264 formats, stored and streamed out as a clip for applications such as tweeter. Suitable naming convention may be applied to each curated file (container), e.g. “Ball-Player 1”, or “Ball-MAC Address 1”, etc. These ball files (e.g., A/V container filers) may then be used in applications such as the one described below for Field Production.

The cropped bit map files may be kept in memory or discarded. They may be kept in memory if further scenarios have been requested, e.g. ‘closest to the ball,’ described infra.

ii. Closest to the Ball

Still consistent with embodiments of the present disclosure, temporal stitching may be employed to provide additional POVs. With temporal stitching, a number of various request views may be provided. For example, in the Closet to the Ball view, from the snap, the first view may be of the quarter back (QB) from offensive line men, followed by the running back in case of a run, or offensive half back providing pass protection. The view may then transition very quickly from the QB view to a receiver view. Once the Receiver catches the ball, the view may then transition to the defensive safety or defensive corner as they come to intercept the ball or receiver. This video sequencing may provide, for example, valuable intercept footage. Accordingly, a plurality of feeds with a plurality of points of interest may be combined using temporal stitching (which may be further combined with spatial stitching) to provide a plurality of POVs.

The sequencing of video in this case may be with some ‘black’ frames such that the transitions appear smooth to a human eye. An algorithm may also be employed to determine if the ball is blurred, i.e. ball transitioned too fast within a frame. Such frames may be discarded from the analysis, e.g. two black frames surrounding a ball frame.

In a running situation, the ‘closest to the ball’ scenario may produce an identical or similar video to that of ‘closest to the Running Back’. Using the metadata for the processed feeds, the closest to ball data is selected frame by frame from each player (e.g., helmet). The processing may stop when the ball is on the ground.

In various embodiments employing temporal stitching, the POV platform operator may determine when the stitching would stop and when the view would be returned to a default player's view (e.g., a player selected by the platform operator or end-user). Moreover, for temporal stitching, the POV platform operator or user may also select which players view to stream at which point in time, thereby creating a customized Sport of View™.

The corresponding Sport of View™ video may then be transcoded in H.265/H.264 formats, stored and streamed out. A suitable naming convention will be applied to each curated file (container), e.g. “Long pass-Receiver X”, or “Long pass-MAC Address X”, etc.

iii. Follow the Player

Embodiments of the present disclosure may provide a Sport of View through which a player may be followed. For example, each the panoramic view may be cropped to so as to create a player-centric view while maximizing the video for in-field play vs. sky, ground or stadium stand views.

FIG. 6 illustrates an embodiments of the 360 panoramic views from a player's helmet. The GPU may detect a player by shirt number or face, label 60, and then crops the frame accounting for line markings tilt, upright tilt, and turf compared to sky views, or stand views. If the player is not found, the frame may be made blank (e.g., a black or grey frame).

The corresponding Sport of View™ video may then be transcoded in H.265/H.264 formats, stored and streamed out as a clip for applications such as tweeter. A suitable naming convention will be applied to each curated file (container), e.g. “RB-Player 1”, or “RB-MAC Address 1”, etc. The cropped bit map files may be kept in memory or discarded. They will be kept in memory if further scenarios have been requested, e.g. ‘closest to the player,’ described infra.

iv. Closest to the Running Back

Embodiments of the present disclosure may provide a Sport of View through which a running back may be followed. For example, from the snap, the first view of the RB may be from the QB, followed by the offensive line men, followed by defensive line men, followed by defensive half backs, followed by defensive corners or safeties. FIG. 7 illustrates an embodiment of this scenario, wherein the offensive Line Men, label 71, first sees the RB in this scenario, label 70. This may followed by LB, label 72, followed by HB, label 73, followed by Corner, label 74. In this scenario, each player's helmet is configured to capture a series of frames, labels 75, 76, 77 and 78. These frames are all sequenced with black transition frames in between to make it palatable for the human eye.

In other embodiments, similar scenarios may provide perspectives of the left side of the RB and the right side of the RB. Further still, there may be videos of players even when there is no ball near the player, e.g. a receiver may run all the way down the field and may be closely guarded by a safety or corner. Such footage may be ideal to view perfect plays and speed of players, and create valuable footage of a running play. Accordingly, the closest to RB data may by selected frame by frame from each player within the metadata, and stitched temporally.

The corresponding Sport of View™ video may then be transcoded in H.265/H.264 formats, stored and streamed out. A suitable naming convention will be applied to each curated file (container), e.g. “Run play-RB”, or “Run play-MAC Address RB”, etc.

v. Plays from Playbook

Embodiments of the present disclosure may provide a Sport of View through which plays may be followed. For example, from the snap, based on the huddle and line of scrimmage calls, ball or player processed video streams may be selected and sequenced to show the sequence of the called play. There may be multiple viewing scenarios of this play. Such scenarios of each play could be from a QB perspective, from a receiver's perspective, or even from the defensive team perspective. These scenarios would be pre-programmed while working with teams, esp. for coaching practice. In some embodiments, a platform operator may input such sequences as rules for video processing.

Such scenarios create valuable footage of a running play, and can be used by both the offensive coaching staff and defensive coaching staff on how well the team executes the playbook. The corresponding Sport of View™ video may then be transcoded in H.265/H.264 formats, stored and streamed out. A suitable naming convention will be applied to each curated file (container), e.g. “Play—Wide 33, Wide 33”, “Play—4/3 Cover 2 Man”, etc.

VI. Applications

Multi-cast streaming is discussed in '915, the disclosure of which is incorporated herein by reference. This streaming may be achieved via, for example, a GStreamer or similar video streaming programs. The GStreamer may be able to handle RTSP requests for play, rewind, fast-forward, etc. to manipulate the stream. When a stream is re-wound, the unique trick stream is split from the multi-cast stream and is then unicast to the end application.

In local in-stadium applications, HTML5 may be used to display and manage the stream capabilities of GStreamer. Such examples would include fan entertainment on iPAD or similar devices, the field production application described below, etc. Outside of the stadium the multi-cast streams may be forwarded via CDN to B2B and B2C third parties, as described in '915.

The following is a non-exhaustive, non-limiting list of applications in which the POV platform may be employed.

a. Field Production

Consistent with the various embodiments herein, a field production application may be provided. The field production may require views of the ball for purposes of close shot broadcast, replays, jumbotron views, etc. Embodiments should enable a field operator to easily and quickly select and unicast forward streams. FIG. 8 illustrates an embodiment of a field production application in an HTML5 display.

In the display there are 11 offense media player video displays with aspect ratio of 16:9 represented by label 80; and 11 defense media player video displays with aspect ratio of 16:9 represented by label 81. As players come and go from the field, the display may automatically pick up the new players from the metadata, as well as show which team has the offense and defense positions, and the like.

When a ball is within the player's field of view, the media players may show the cropped view from the original panoramic stitched view, as explained in the non-limiting example of ‘follow the ball,’ supra. If the ball is not viewable by a player, the media player may display a black or grey screen.

At any time, the field operator (i.e., POV platform operator) may cast a player's video by selecting, for example, the ‘cast’ function, represented by label 82. The stream may be multi-cast or unicast depending on if it is the real-time main stream or a stream that has been re-wound, respectively. When a stream is being cast, the display may show, for example, a red status, represented by label 83.

In the case of a replay, the field operator may provision a second timer, label 84, and then select the re-wind function, label 85, to rewind all the media players by the selected number of seconds. The field operator may then play from the new position within the stream by selecting, for example, the play function, label 86. The re-wound position in the media stream is shown in the display as the green arrow marker, label 88. The real-time feed is shown by the red arrow marker. If feeds are selected during the re-wind process for casting, then the replay from these streams may be sent, or cast, to the production staff.

The field operator may return the panel to normal real-time operation by pressing, for selecting, the RET function, label 87. Streams may be disabled from forwarding by selecting, for example, the ‘cast’ function again. When the stream is deselected from forwarding, the status will be back to normal, i.e. not red.

b. Game Day Coach

Consistent with the various embodiments herein, a game day coach production application may be provided. In another example, coaches may be provided with a panel to manage on-field communications with players. FIG. 9 illustrates an example of an HTML5 display which may be provided to the coaches, both offense and defense coaches of each team (although variations to each embodiments may exist).

Each player on offense and defense may be represented on the display. As players come and go from the field, the display may automatically pick up the new players from the metadata applied to each players corresponding feed.

As a player leaves the field, the RFID tag information may be sent over the transport stream for processing and update to the metadata. This update may trigger the business rules engine to look at the player position and then look for a corresponding player coming back on the field. This player may be identified because the RFID tag information will be turned off which will also initiate the business rules to identify the position of the player on the field. When these positions match, the business rules engine may allow the coaching application to replace the shirt number and name of the player on the display.

Embodiments of the present disclosure, and in accordance to the disclosure of '613, the POV platform may enable the coaches to speak to the player or individual players such as the QB or Center Line Backer on defense. For example, a coach may select mic function, label 92, to speak with a player via the player's helmet. The mic status is shown on the display as on or off, label 93. Accordingly, in such embodiments, the coaches may be provided with a microphone and speaker that is integrated with the POV platform. In this way, two-way communication between the player and coach may be provided.

When individual players need to speak to the team, the coach can select the player's cast function, label 90. This will turn on the mic of the player. In some embodiments, all team members wearing an integrated helmet may be able to hear the player, such as the QB, as well as the coaches. The player's mic status is shown on the display as on/off, label 91.

c. Playbook

Consistent with the various embodiments herein, a playbook application may be provided. FIG. 10 is an example of a playbook display 1000. Using the metadata stored on each frame on each player, an HTML5 display may be created during the game or after the game showing actual movement of player's frame-by-frame. In some embodiments, the red dots represent the offense, while the blue dots represent the defense.

d. Panoramic View

In some embodiments, panoramic views may be streamed out within the stadium or to a CDN for viewing using an application able to render the panoramic views on a mobile device such as an iPAD, Android Pad, iPhone, Android phone, and various other computing devices. The application may be able to select from multiple feeds for viewing.

e. Medical Application

As referenced above with respect to FIG. 4, metadata from the face camera is collected. This metadata can show concussion problems, such as dilated eyes. Along with this, the wearable helmet gear may also providing temperature readings, acceleration readings and gyro readings. Such collected data may be useful for medical application.

f. Battery Monitoring Application

With reference to '613, a Temperature sensor may be placed in the battery pack area. When temperature exceeds a specified temperature, the battery monitoring application will issue an alert and then shut down the wearable system.

g. Automated Digital Signage

Still consistent with embodiments of the present disclosure, metadata may be made available to applications via, for example API's associated with the platform, to add digital signage in applications. By way of non-limiting example, in coaching applications—the game clock may be shown, or number of the down may be shown, etc. In some embodiments, this application may be used for marketing and advertising opportunities presented to, for example, third parties. Further still, audio may also be provided in some applications from the metadata, e.g. using the text recorded from the game.

VI. Platform Operation

FIG. 11 is a flow chart setting forth the general stages involved in a method 1100 consistent with an embodiment of the disclosure for providing the platform of the present disclosure. Method 1100 may be implemented using Video Processing server 3 or computing device 1200 as described in more detail below with respect to FIG. 12 (collective referred to as the “platform”).

Although method 1100 has been described to be performed by video processing server 3 as illustrated in FIG. 1B or a computing device 1200 as detailed below with respect to FIG. 12, it should be understood that, in some embodiments, different operations may be performed by different networked elements in operative communication with video processing server 3 and/or computing device 1200.

Although the stages illustrated by the flow charts are disclosed in a particular order, it should be understood that the order is disclosed for illustrative purposes only. Stages may be combined, separated, reordered, and various intermediary stages may exist. Accordingly, it should be understood that the various stages illustrated within the flow chart may be, in various embodiments, performed in arrangements that differ from the ones illustrated. Moreover, various stages may be added or removed from the flow charts without altering or deterring from the fundamental scope of the depicted methods and systems disclosed herein. Ways to implement the stages of method 1100 will be described in greater detail below.

Method 1100 may begin at starting block 1105 and proceed to stage 1110 where the platform may receive plurality of transport streams. Each transport stream may comprise, for example, but not be limited to audio, video, telemetry and location data. Such data may be received from a capturing device such as, by way of non-limiting example, a helmet consistent with the '613 application. In various embodiments, each component of the transport stream may be received in its own transmission stream. Consistent with embodiments of the invention, and as further detailed in the '915 application, the transport stream may be received in an ingest layer of the platform.

Moreover, each transport stream of the plurality of received transport streams may be associated and tagged with the corresponding helmet that captured the data communicated via the transmission stream.

From stage 1110, where the platform receives the transport stream, method 1100 may advance to stage 1120 where the platform may decode the transport stream. Decoding may be associated with the video component of the transport stream. Each frame of the video component may be decoded into a pixel map. In some embodiments, prior to substantive processing to provide a Sport of View™ the video frames associated with various capturing devices of each helmet to stitch a spatial panoramic view. The panoramic view may remain in the decoded pixel map format for further processing.

Still in further embodiments, a plurality of pre-Sport of View™ processing algorithms may be employed on the frames, including, but not limited to, stabilization, color & Polarization, light and shadow distribution, and a plurality of others mentioned above.

Once platform has decoded the video component of the transmission stream in stage 1120, method 1100 may continue to stage 1130 where the platform may determine parameters for processing (e.g., stitching) the plurality of transport streams to provide a view (e.g., Sport of View™). Non-video components of the transport stream may also be employed in the creation of the Sport of View™. For example, a rules-engine may determine a plurality of parameters for analyzing the decoded video content as well as the telemetry/location data associated with the video content (e.g., metadata corresponding to the video content). The parameters may be received from, but not limited to, a platform end-user (e.g., viewer) or a platform operator (e.g., admin or coach). In various embodiments, the parameters may be received via, for example, an application programming interface (API).

In some embodiments, the parameters may be derived from user selections. For example, the platform may provide a listing of views (e.g., Sport of Views) to a user. Based on the user's selection, corresponding video processing parameters may be determined. The rules engine, in turn, may determine which rules to apply in processing the received transport stream to provide the selected views.

After determining the processing parameters in stage 1130, method 1100 may proceed to stage 1140 where the platform may process the plurality of transport streams. Processing may comprises a frame-by-frame assessment based on the rules established by the rules engine (in conjunction with the determined processing parameters). For example, based on the various Sport of View™ selected by the user, video processing may comprises a scanning of each pixel map (e.g. frame) to locate various objects (e.g., players, ball, field objects, etc.). Based on the findings of the scan, the platform may stitch together the various content feeds received from the plurality of transport streams to provide a single stitched content stream. Details of various stitching parameters based on view selections are provided above.

Moreover, in addition to scanning each pixel map, non-video data may be used in processing to establish the stitched frame (e.g., metadata, telemetry data and location data may be employed in the processing). For example, a user selected view may be associated with following a particular player. The player may be identified in the transport stream not by the video component of the stream, but by the associated metadata. In this way, the platform may employ both image processing and metadata in stitching a final view from a plurality of transport streams.

Once platform competes the processing in stage 1140, method 1100 may then end at stage 1150.

Various embodiments of method 1100 may comprise stages 1190 and 1195. Method 1100 may begin at starting block 1105 and proceed to stage 1190, where platform 100 may receive a plurality of streams comprising at least one video stream and at least one telemetry data stream associated with the at least one video stream. Platform 100 may further create metadata corresponding to the at least one video stream and the at least one telemetry data stream. In some embodiments, creation of the metadata may comprise processing at least one frame of the at least one video stream to detect at least one artifact within the frame, processing the at least one telemetry data stream to determine telemetry data associated with the at least one frame of the at least one video stream, and annotating the at least one artifact and the telemetry data within a portion of the metadata associated with the at least one frame.

-   -   In further embodiments, platform 100 may further decode the at         least one video stream prior to creating the metadata. Moreover,         processing the at least one frame of the at least one video         stream to determine the at least one artifact within the frame         may comprise accessing a library of comprising a plurality of         artifacts and determining if any elements in the at least one         decoded frame correspond to any one of the plurality of         artifacts in the library. In some embodiments, determining if         any elements in the at least one frame correspond to any one of         the plurality of artifacts may comprise analyzing the at least         one decoded frame for at least one of the following: lighting,         shading, physical objects, text, and the like. In further         embodiments, processing the at least one telemetry data stream         to determine the telemetry data associated with the at least one         frame of the at least one video stream may comprise         synchronizing the at least one decoded video stream with the at         least one telemetry data stream. In various embodiments,         synchronizing the at least one decoded video stream with the at         least one telemetry data stream may comprise averaging the         telemetry data across a plurality of frames.

From stage 1190, method 1100 may proceed to stage 1195, wherein platform 100 may provide the metadata along with the corresponding at least one video stream to at least one rules engine. In further embodiments, platform 100 may receive the metadata and the corresponding at least one video stream for a plurality of video streams and process the plurality of video streams to create a logical view. Moreover, platform 100 may determine a desired logic view to create and determine a set of rules for processing the plurality of video streams to create the logical view.

Processing the plurality of video streams to create the logical view may, in some embodiments, comprise at least one of the following: analyzing the metadata associated with each of the plurality of video streams, and stitching at least two portions of at least two video streams of the plurality of video streams based on the set of rules and the analyzed metadata. In some embodiments, stitching the at least two portions of the at least two video streams may comprise performing at least one of the following: temporal stitching, and spatial stitching. Platform 100 may further create logical view metadata for the logical view. Moreover, platform 100 may encode the logical view and transmit the logical view to at least one of the following: a content distribution network and a client device.

In various embodiments, platform 100 may receive the logical view and display the logical view. In some embodiments, displaying the logical view may comprise providing a plurality of logical views for selection, receiving a selection of the logical view, and displaying the selected logical view. In further embodiments, platform 100 may receive the logical view metadata, receive the logical view, and receive a specification in displaying the logical view. In such embodiments, the specification in displaying the logical view may comprise at least one of the following: a pan specification, a zoom specification, and a directional lock specification. In further embodiments, the specification in displaying the logical view may comprise at least one of the following: a pause request, a fast-forward request, a rewind request, and a slow-motion request. In yet further embodiments, platform 100 may determine a set of rules for providing the desired specification, process the logical view based on the logical view metadata and the set of rules, and display a specified logical view. In some embodiments, determining the logical view to create may comprise determining the logical view to create based on a received request for the logical view from a client device. Once platform completes stage 1195, method 1100 may then end at stage 1150.

In various embodiments, content streaming may also be provided as detailed in the '671 application.

VII. Platform Architecture

Various portions of the platform may be embodied as, for example, but not be limited to, a website, a web application, a desktop application, and a mobile application compatible with a computing device. The computing device may comprise, but not be limited to, a desktop computer, laptop, a tablet, or mobile telecommunications device. Moreover, the platform may be hosted on a centralized server, such as, for example, a cloud computing service. Although method 1100 has been described to be performed by a computing device 1200, it should be understood that, in some embodiments, different operations may be performed by different networked elements in operative communication with computing device 1200.

Embodiments of the present disclosure may comprise a system having a memory storage and a processing unit. The processing unit coupled to the memory storage, wherein the processing unit is configured to perform the stages of method 1100.

FIG. 12 is a block diagram of a system including computing device 1200. Consistent with an embodiment of the disclosure, the aforementioned memory storage and processing unit may be implemented in a computing device, such as computing device 1200 of FIG. 12. Any suitable combination of hardware, software, or firmware may be used to implement the memory storage and processing unit. For example, the memory storage and processing unit may be implemented with computing device 1200 or any of other computing devices 1218, in combination with computing device 1200. The aforementioned system, device, and processors are examples and other systems, devices, and processors may comprise the aforementioned memory storage and processing unit, consistent with embodiments of the disclosure.

With reference to FIG. 12, a system consistent with an embodiment of the disclosure may include a computing device, such as computing device 1200. In a basic configuration, computing device 1200 may include at least one processing unit 1202 and a system memory 1204. Depending on the configuration and type of computing device, system memory 1204 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or any combination. System memory 1204 may include operating system 1205, one or more programming modules 1206, and may include a program data 1207. Operating system 1205, for example, may be suitable for controlling computing device 1200's operation. In one embodiment, programming modules 1206 may include a video processing and rules engine application. Furthermore, embodiments of the disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 12 by those components within a dashed line 1208.

Computing device 1200 may have additional features or functionality. For example, computing device 1200 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 12 by a removable storage 1209 and a non-removable storage 1210. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 1204, removable storage 1209, and non-removable storage 1210 are all computer storage media examples (i.e., memory storage.) Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 1200. Any such computer storage media may be part of device 1200. Computing device 1200 may also have input device(s) 1212 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, etc. Output device(s) 1214 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used.

Computing device 1200 may also contain a communication connection 1216 that may allow device 1200 to communicate with other computing devices 1218, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 1216 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media. The term computer readable media as used herein may include both storage media and communication media.

As stated above, a number of program modules and data files may be stored in system memory 1204, including operating system 1205. While executing on processing unit 1202, programming modules 1206 (e.g., video processing and rules engine application 1220) may perform processes including, for example, one or more of method 1100's stages as described above. The aforementioned process is an example, and processing unit 1202 may perform other processes. Other programming modules that may be used in accordance with embodiments of the present disclosure may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.

Generally, consistent with embodiments of the disclosure, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments of the disclosure may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Furthermore, embodiments of the disclosure may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. Embodiments of the disclosure may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the disclosure may be practiced within a general purpose computer or in any other circuits or systems.

Embodiments of the disclosure, for example, may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process. Accordingly, the present disclosure may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). In other words, embodiments of the present disclosure may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. A computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific computer-readable medium examples (a non-exhaustive list), the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.

Embodiments of the present disclosure, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the disclosure. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

While certain embodiments of the disclosure have been described, other embodiments may exist. Furthermore, although embodiments of the present disclosure have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, solid state storage (e.g., USB drive), or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the disclosure.

All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.

VIII. Claims

While the specification includes examples, the disclosure's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as example for embodiments of the disclosure.

Insofar as the description above and the accompanying drawing disclose any additional subject matter that is not within the scope of the claims below, the disclosures are not dedicated to the public and the right to file one or more applications to claims such additional disclosures is reserved. 

1. A method comprising: receiving a plurality of streams comprising at least one video stream and at least one telemetry data stream associated with the at least one video stream; and creating metadata corresponding to the at least one video stream and the at least one telemetry data stream, wherein creating the metadata comprises: processing at least one frame of the at least one video stream to detect at least one artifact within the frame, processing the at least one telemetry data stream to determine telemetry data associated with the at least one frame of the at least one video stream, and annotating the at least one artifact and the telemetry data associated with the at least one frame.
 2. The method of claim 1, further comprising: decoding the at least one video stream prior to creating the metadata.
 3. The method of claim 2, wherein processing the at least one frame of the at least one video stream to determine the at least one artifact within the frame comprises: accessing a library of comprising a plurality of artifacts, and determining if any elements in the at least one decoded frame correspond to any one of the plurality of artifacts in the library.
 4. The method of claim 3, wherein determining if any elements in the at least one frame correspond to any one of the plurality of artifacts comprises analyzing the at least one decoded frame for at least one of the following: lighting, shading, physical objects, marked reference points, and text.
 5. The method of claim 2, wherein processing the at least one telemetry data stream to determine the telemetry data associated with the at least one frame of the at least one video stream comprises: synchronizing the at least one decoded video stream with the at least one telemetry data stream.
 6. The method of claim 6, wherein synchronizing the at least one decoded video stream with the at least one telemetry data stream comprises: averaging the telemetry data across a plurality of frames.
 7. The method of claim 1, further comprising: providing the metadata along with the corresponding at least one video stream to at least one rules engine.
 8. The method of claim 1, further comprising: receiving the metadata and the corresponding at least one video stream for a plurality of video streams; and processing the plurality of video streams to create a logical view.
 9. The method of claim 8, further comprising: determining a desired logic view to create; and determining a set of rules for processing the plurality of video streams to create the logical view.
 10. The method of claim 8, wherein processing the plurality of video streams to create the logical view comprises at least one of the following: analyzing the metadata associated with each of the plurality of video streams, and stitching at least two portions of at least two video streams of the plurality of video streams based on the set of rules and the analyzed metadata.
 11. The method of claim 10, wherein stitching the at least two portions of the at least two video streams comprises performing at least one of the following: temporal stitching, and spatial stitching.
 12. The method of claim 8, further comprising: creating logical view metadata for the logical view.
 13. The method of claim 8 or 12, further comprising: encoding the logical view, and transmitting the logical view to at least one of the following: a content distribution network, and a client device.
 14. The method of claim 8, further comprising: receiving the logical view, and displaying the logical view.
 15. The method of claim 14, wherein displaying the logical view comprises: providing a plurality of logical views for selection, receiving a selection of the logical view, and displaying the selected logical view.
 16. The method of claim 12, further comprising: receiving the logical view metadata, receiving the logical view, and receiving a specification in displaying the logical view.
 17. The method of claim 16, wherein receiving the specification in displaying the logical view comprises receiving at least one of the following: a pan specification, a zoom specification, and a directional lock specification.
 18. The method of claim 16, wherein receiving the specification in displaying the logical view comprises receiving at least one of the following: a pause request, a fast-forward request, a rewind request, and a slow-motion request.
 19. The method of claim 16, further comprising: determining a set of rules for providing the desired specification, processing the logical view based on the logical view metadata and the set of rules, and displaying a specified logical view.
 20. The method of claim 9, wherein determining the logical view to create comprises determining the logical view to create based on a received request for the logical view from a client device.
 21. A method comprising: receiving a plurality of streams; decoding a video data of the plurality of streams; determining at least one processing parameter for processing the video data; scanning the decoded video data to detect at least one object associated with the processing parameters; and processing the decoded video data based on each video data frame's association with the at least one object.
 22. The method of claim 21, wherein determining the at least one processing parameter comprises determining the at least one processing parameter based on a user selection of a desired view.
 23. The method of claim 22, wherein determining the at least one processing parameter based on the user selection of the desired view further comprises accessing a rules engine to determine which processing parameters are associated with the desired view.
 24. The method of claim 21, wherein processing the decoded video data based on each video data frame's association with the detected at least one object comprises stitching at least one first video frame of a first transport stream with at least one second video frame of a second transport stream based on each frame's association with the at least one object.
 25. The method of claim 24, wherein stitching comprises temporally stitching the visual data to generate a constant feed of the detected object.
 26. The method of claim 24, wherein receiving the plurality of transport streams comprises receiving the plurality of transport streams from a plurality of capturing devices.
 27. The method of claim 26, wherein the plurality of capturing devices are associated with a plurality of integrated helmets.
 28. The method of claim 27, wherein stitching the at least one first video frame with the at least one second video frame comprises stitching content captured from a first integrated helmet with content captured from a second integrated helmet.
 29. The method of claim 27, further comprising stitching a plurality of single frames received from capturing devices associated with the same integrated helmet into panoramic frames.
 30. The method of claim 21, wherein receiving the plurality of transport streams comprises receiving at least one of the following: audio data, video data, telemetry data, and location data.
 31. The method of claim 30, wherein processing the video component comprises utilizing the telemetry data to orient and align at least frames of the video component.
 32. The method of claim 31, wherein decoding the video component of the transport stream comprises creating a pixel map for video frames within the video component.
 33. The method of claim 32, further comprising pre-processing the decoded frames with algorithms configured to perform at least one of the following: stabilization, color & polarization, linear perspective, relative and known size, texture gradient, light and shadow distribution, and aerial perspective.
 34. The method of claim 31, wherein scanning the decoded video component to detect the at least one object associated with the processing parameters comprises detecting at least one of the following: a ball; a football snap; a player's face, a player's shirt, a sideline, a line marker, a down marker, an infrared marker, a hash mark, a 5-yard mark, a 10-yard mark, an end, an end-zone, an upright, a game clock, a referee, a brand icon, a team staff, a team owner, a cheerleader, and a fan.
 35. A method comprising: receiving a plurality of video streams; decoding the plurality of video streams into frames; determining at least one processing parameter for processing the frames based on a desired view to be provided; scanning the frames to detect at least one object associated with the desired view within the frames; and stitching at least one first frame of a first video stream with at least one second frame of a second video stream based on each frame's association with the at least one object.
 36. The method of claim 34, wherein receiving the plurality of video streams comprises receiving the plurality of video streams from a plurality of capturing devices.
 37. The method of claim 36, wherein the plurality of capturing devices are associated with a plurality of integrated helmets.
 38. The method of claim 37, wherein stitching the at least one first frame with the at least one second frame comprises stitching content captured from a first integrated helmet with content captured from a second integrated helmet.
 39. The method of claim 35, further comprising providing the desired view to an end-user who selected the desired view.
 40. The method of claim 30, wherein providing the desired view comprises cropping visual data around the at least one object. 